The invention relates to a data bus system, particularly a data bus system in motor vehicles and in automation technology, having slave nodes that execute functions based upon addressed command messages from an electronic main control unit that is also connected to the data bus, wherein the command messages contain an identifier field for addressing the commands, for which a limited amount of identifying information is provided.
A data bus of this type is known, for example, in the so-called LIN bus. The unique features of the LIN bus are described in the magazine article entitled “LIN Bus Cheap and Efficient”, Elektronik Automotive, June 2000, pp 18 ff.
The LIN bus is a data bus for motor vehicles that is based upon the master-slave principle. The slave nodes (secondary control unit or controlled device) execute a multitude of simple logic functions based upon addressed command messages from the master (main control unit). For addressing purposes, a command message contains an identifier field (IDENT FIELD), for which only a limited number of identifying data are provided. At this time, only 64 pieces of identifying information, also called identifiers (LIN-ID) are available. The LIN bus is used for a multitude of different, simple functions within the vehicle, e.g. for switching lights on and off, for controlling the servomotors (for example for the window controls or the heating and air conditioning), for inputting sensor values (for example for the tire pressure monitoring system or temperature gauges). The number of possible functions far exceeds the number of identifiers, necessitating a data bus network with a multitude of partial buses.
According to the current definition of the LIN bus, LIN-ID's are permanently stored in a slave node. If a special LIN-ID is already permanently stored in a slave node, this will directly influence the LIN-ID's of the other slave nodes. The configuration of the LIN network must be known precisely beforehand to allow command messages to be assigned to LIN-ID's. This complicates the system engineering and makes the use of shared components nearly impossible. Altering a slave node often makes it necessary to alter all slaves in the network. Hereinafter, the term secondary control unit will be used to refer to slaves or slave nodes, differentiating from the main control unit (master).
The object of the invention is to improve upon a data bus of the type described at the beginning, with respect to the above-described disadvantages.
This object is attained by providing a data bus, particularly for motor vehicles and automation technology, with slave nodes that execute functions based upon addressed command messages from an electronic main control unit that is also connected to the data bus, wherein the command messages contain an identifier field for addressing the commands, for which a limited amount of identifying information is provided. Each function that can be executed by the slave nodes of the data bus is assigned at least one function number. Each slave node has a first, non-volatile memory area in which the function numbers of the functions that can be executed by the appropriate slave nodes are permanently stored, and each slave node has a second, programmable memory area, in which, for each of the function numbers stored in the first memory area, a piece of identifying information for the identifying field can be stored, as a result of a special command message from the electronic main control unit. Advantageous additional improvements on the invention are described herein.
According to the invention, all functions that can be executed by the slave nodes of the data bus are assigned at least one function number. A catalog of function numbers, which would be obligatory for the suppliers of the slave nodes and the main control unit, can be provided. A range of function numbers can be assigned to each supplier of slave nodes. Each slave node has a first, non-volatile memory area, in which the numbers of the functions that can be executed by the assigned slave nodes have already been permanently stored, e.g. in the supplier's factory. Each slave node has a second programmable memory area, in which, for each function number stored in the first memory area, a piece of identifying information (identifier, ID) provided for the identifying field can be stored, based upon a special command message from the electronic main control unit, especially during initialization of the completed data bus. The electronic main control unit may be an intelligent control device that is constantly connected to the data bus and/or a diagnostic device that can be intermittently connected to the data bus.
With the invention, a slave node contains no permanent control units or component addresses, in contrast to the current state of the art, in order to minimize the costs of managing the addresses. In accordance with the invention, the addressing of a function or a message is based primarily upon function rather than on components. For example, with the invention different slave nodes, which need not necessarily be structurally equivalent components but should at the same time be capable of executing the same function, should be assigned the same identifying data for executing this common function. In this way, identifying information in a concrete bus network can be eliminated. Because the message is always received first by all slave nodes, the addressed function is executed isochronously by the slave nodes.
The slave nodes preferably contain a coding device for generating a supplemental identification code on an as-needed basis, with which the slave nodes can be made distinguishable to the electronic main control unit in the special command message. This is particularly important when different identifying information for one and the same function number is to be stored in different slave nodes. With the identifying information, a definite identification of a slave node is possible for most applications, even without an identifying code. Nevertheless, this identifying code also serves to distinguish between identical components. The identifying code can be a small identifier (e.g. a maximum of 8 bits, sufficient for 256 identical components in a data bus) and should be as simple as possible to create. The coding device for creating the identifying code should be small and cost-effective. The identifying code should be variable and individually defined by the system designer, if the system network calls for this. It can be realized, e.g., by means of jumpers, zapping, or programming. A default value can be preset. The default value must be changed only if the identifying code is necessary. This identifying code does not represent a component address, but can act as a variable “component address”, especially in conjunction with a function number.
For the identifier field of the special command message, a defined piece of identifying information is preferably provided, via which all slave nodes can be addressed, before the remaining identifying information assigned to the function numbers is stored.
Overall, with the invention, in the form of so-called “dynamic ID allocation”, a flexible addressing of command messages is enabled.
Other objects, advantages and novel features of the present invention will become apparent from the following detailed description of the invention when considered in conjunction with the accompanying drawings.